<ng-template #template>
  <ng-container [ngSwitch]="tagName">
    <h1 *ngSwitchCase="'h1'" [class]="element.cssTitle" [attr.id]="element.ariaTitleId" [attr.tabindex]="element.titleTabIndex" [attr.aria-expanded]="element.titleAriaExpanded" [attr.role]="element.titleAriaRole" [attr.aria-label]="ariaLabel"><ng-container *ngTemplateOutlet="titleContent"></ng-container></h1>
    <h2 *ngSwitchCase="'h2'"[class]="element.cssTitle" [attr.id]="element.ariaTitleId" [attr.tabindex]="element.titleTabIndex" [attr.aria-expanded]="element.titleAriaExpanded" [attr.role]="element.titleAriaRole" [attr.aria-label]="ariaLabel"><ng-container *ngTemplateOutlet="titleContent"></ng-container></h2>
    <h3 *ngSwitchCase="'h3'"[class]="element.cssTitle" [attr.id]="element.ariaTitleId" [attr.tabindex]="element.titleTabIndex" [attr.aria-expanded]="element.titleAriaExpanded" [attr.role]="element.titleAriaRole" [attr.aria-label]="ariaLabel"><ng-container *ngTemplateOutlet="titleContent"></ng-container></h3>
    <h4 *ngSwitchCase="'h4'"[class]="element.cssTitle" [attr.id]="element.ariaTitleId" [attr.tabindex]="element.titleTabIndex" [attr.aria-expanded]="element.titleAriaExpanded" [attr.role]="element.titleAriaRole" [attr.aria-label]="ariaLabel"><ng-container *ngTemplateOutlet="titleContent"></ng-container></h4>
    <h5 *ngSwitchCase="'h5'"[class]="element.cssTitle" [attr.id]="element.ariaTitleId" [attr.tabindex]="element.titleTabIndex" [attr.aria-expanded]="element.titleAriaExpanded" [attr.role]="element.titleAriaRole" [attr.aria-label]="ariaLabel"><ng-container *ngTemplateOutlet="titleContent"></ng-container></h5>
    <h6 *ngSwitchCase="'h6'"[class]="element.cssTitle" [attr.id]="element.ariaTitleId" [attr.tabindex]="element.titleTabIndex" [attr.aria-expanded]="element.titleAriaExpanded" [attr.role]="element.titleAriaRole" [attr.aria-label]="ariaLabel"><ng-container *ngTemplateOutlet="titleContent"></ng-container></h6>
    <div *ngSwitchCase="'div'"[class]="element.cssTitle" [attr.id]="element.ariaTitleId" [attr.tabindex]="element.titleTabIndex" [attr.aria-expanded]="element.titleAriaExpanded" [attr.role]="element.titleAriaRole" [attr.aria-label]="ariaLabel"><ng-container *ngTemplateOutlet="titleContent"></ng-container></div>
    <label *ngSwitchCase="'label'"[class]="element.cssTitle" [attr.id]="element.ariaTitleId" [attr.tabindex]="element.titleTabIndex" [attr.aria-expanded]="element.titleAriaExpanded" [attr.role]="element.titleAriaRole" [attr.aria-label]="ariaLabel"><ng-container *ngTemplateOutlet="titleContent"></ng-container></label>
  </ng-container>
  <ng-template #titleContent>
    <ng-content></ng-content>
  </ng-template>
</ng-template>